<?php
try{
    include '../ini.php';
    include '../classes/xl_categories.php';
    $dt_xl_category=new xl_category;
    $_POST['data']['id']=$dt_xl_admin->removeSQLI($_POST['data']['id']);
    $test_category=$dt_xl_category->read($_POST['data']['id']);
    if($test_category === FALSE){
        throw new Exception('Mã này không tồn tại');
    }
    if(empty($_POST['data']['category_name'])){
        throw new Exception('Chưa nhập tên loại bài viết');
    }
    $_POST['data']['category_name']=$dt_xl_admin->xss_clean($_POST['data']['category_name']);
    $test_name=$dt_xl_category->test($test_category['id'],$_POST['data']['category_name']);
    if($test_name == TRUE){
        throw new Exception('Tên này đã tồn tại, vui lòng chọn tên khác.');
    }
    if(empty($_POST['data']['title'])){
        throw new Exception('Chưa nhập thể loại bài viết');
    }
    $_POST['data']['title']=$dt_xl_admin->xss_clean($_POST['data']['title']);
    if(empty($_POST['data']['keyword'])){
        throw new Exception('Chưa nhập từ khóa loại bài viết');
    }
    $_POST['data']['keyword']=$dt_xl_admin->xss_clean($_POST['data']['keyword']);
    if(empty($_POST['data']['description'])){
        throw new Exception('Chưa nhập mô tả loại bài viết');
    }
    $_POST['data']['description']=$dt_xl_admin->xss_clean($_POST['data']['description']);
    if($_POST['data']['type_category'] == -1){
        throw new Exception('Chưa nhập kiểu loại bài viết');
    }else{
        $list_info=array('1'=>'0','2'=>'1');
        if(!in_array($_POST['data']['type_category'],$list_info)){
            throw new Exception('Không đúng định dạng của kiểu bài viết');
        }
    }
    $list=$dt_xl_category->read_list();
    if($_POST['data']['parent'] == -1){
        throw new Exception('Chưa nhập kiểu loại cha');
    } else {
        foreach($list as $k=>$v){
                $a[0]='0';
                $a[]=$v['id'];
        }
        if(!in_array($_POST['data']['parent'],$a)){
                throw new Exception('Không đúng mã loại. Vui lòng thử  lại.');
        }
    }    
    if($_POST['data']['location'] == -1){
        throw new Exception('Chưa chọn vị trí th của bài viết');    
    } else {
                
        foreach($list as $k1=>$v1){
                $b[0]=1;
                $b[]=$k1+2;
        }
        if(!in_array($_POST['data']['location'],$b)){
                    throw new Exception('Không đúng vị trí. Vui lòng thử  lại.');
        }  
    }
    if($_POST['data']['shows']!=1 && $_POST['data']['shows']!=0){
        throw new Exception('Trạng thái không đúng');
    }
    $avatar=isset($_FILES['image']['name'])?$_FILES['image']['name']:'';
	$avatar=addslashes(stripslashes($avatar));
    $_FILES['image']['size']=$_FILES['image']['size']/1024;
    $arr_image=array('image/gif','image/jpeg','image/png','image/wbmp','image/xbm');
    if($avatar!=''){
        $type=mime_content_type($_FILES['image']['tmp_name']); // tránh bị đổi đuôi file
        if(in_array($type,$arr_image) === false){
			throw new Exception('Không đúng định dạng cho phép của image');
		}
		if($_FILES['image']['error']!= 0){
			throw new Exception('Xảy ra lỗi trong quá trình truyền tải image');
		}		
        # bắt lỗi kích thước hình không cho vào data  tool crop_image
        
		if($_FILES['image']['size']>900 || $_FILES['image']['size']<38){
		  throw new Exception('Kích thước định dạng không đúng chuẩn của image');
			
		}
        $explode =explode('.',$avatar);
        $avatar =$dt_xl_admin->vn_str_filter($_POST['data']['category_name']).'.'.$explode[count($explode) -1];
    }
    $_POST['data']['image']=$avatar;
    $_POST['data']['day_time']=$test_category['day_time'];
    $data=$_POST['data'];
    $category=$dt_xl_category->update($data);
    if($category === FALSE){
        throw new Exception('Xảy ra lỗi trong quá trình cập nhật');
    }
    // format time 
    //$time_folder=date_format(date_create($data['day_time']),'m-Y');
    #$time_folder=date('m-Y',strtotime($data['day_time']));
    $day_time=image('categories',date_format(date_create($test_category['day_time']),'m-Y'));
    //khởi tao time của folder
    if($avatar !=''){
        if($test_category['image'] !=''){  
		  unlink($day_time.'/'.$test_category['image']);
        }
    }
    if($data['image']!=''){    
    	if(!file_exists($day_time)){
    		mkdir($day_time,0755,true);  
    	}else {       
            $_FILES['image']=str_replace($_FILES['image']['name'],$avatar,$_FILES['image']);
             crop_image($_FILES['image']['tmp_name'],$day_time.'/'.$_FILES['image']['name'],600,400);
             //logo_image($day_time.'/'.$_FILES['image']['name'],9,"../../upload/icon/logo.png");
             
        }
    }
    $dbh=NULL;
    $_SESSION['msg']='Thành Công';
    $_SESSION['type_msg']='success';
    if(isset($_POST['save_continue'])){
        $url='categories_update.php?id='.$test_category['id'];
    } else {
        $url='categories_list.php';
    }
    header("Location: $url");
} catch(Exception $e){
    $dbh=NULL;
    $_SESSION['msg']=$e->getMessage();
    $_SESSION['type_msg']='error';
    if(empty($_SERVER['HTTP_REFERER'])){
        header('Location: categories_list.php');
    }else{
        header('Location:'.$_SERVER['HTTP_REFERER']);
    }
}